package com.dbecom.platform.foundation.batch;

public class ECBatchException extends RuntimeException {

    private static final long serialVersionUID = 1L;

    private long jobExecutionId;
    private int lineNumber;
    private String field;
    private String errorCode;
    private Object[] errorArgs;
    private String defaultMessage;

    public ECBatchException(long jobExecutionId, String errorCode) {
        super(errorCode);
        this.jobExecutionId = jobExecutionId;
        this.errorCode = errorCode;
    }

    public ECBatchException(long jobExecutionId, String errorCode, Object[] errorArgs) {
        super(errorCode);
        this.jobExecutionId = jobExecutionId;
        this.errorCode = errorCode;
        this.errorArgs = errorArgs;
    }

    public ECBatchException(long jobExecutionId, String errorCode, String defaultMessage) {
        super(defaultMessage);
        this.jobExecutionId = jobExecutionId;
        this.errorCode = errorCode;
        this.defaultMessage = defaultMessage;
    }

    public ECBatchException(long jobExecutionId, String errorCode, Object[] errorArgs, String defaultMessage) {
        super(defaultMessage);
        this.jobExecutionId = jobExecutionId;
        this.errorCode = errorCode;
        this.errorArgs = errorArgs;
        this.defaultMessage = defaultMessage;
    }

    public ECBatchException(long jobExecutionId, int lineNumber, String errorCode, String defaultMessage) {
        super(defaultMessage);
        this.jobExecutionId = jobExecutionId;
        this.lineNumber = lineNumber;
        this.errorCode = errorCode;
        this.defaultMessage = defaultMessage;
    }

    public ECBatchException(long jobExecutionId, int lineNumber, String errorCode, Object[] errorArgs,
            String defaultMessage) {
        super(defaultMessage);
        this.jobExecutionId = jobExecutionId;
        this.lineNumber = lineNumber;
        this.errorCode = errorCode;
        this.errorArgs = errorArgs;
        this.defaultMessage = defaultMessage;
    }

    public ECBatchException(long jobExecutionId, int lineNumber, String field, String errorCode, String defaultMessage) {
        super(defaultMessage);
        this.jobExecutionId = jobExecutionId;
        this.lineNumber = lineNumber;
        this.field = field;
        this.errorCode = errorCode;
        this.defaultMessage = defaultMessage;
    }

    public ECBatchException(long jobExecutionId, int lineNumber, String field, String errorCode, Object[] errorArgs,
            String defaultMessage) {
        super(defaultMessage);
        this.jobExecutionId = jobExecutionId;
        this.lineNumber = lineNumber;
        this.field = field;
        this.errorCode = errorCode;
        this.errorArgs = errorArgs;
        this.defaultMessage = defaultMessage;
    }

    public long getJobExecutionId() {
        return jobExecutionId;
    }

    public void setJobExecutionId(long jobExecutionId) {
        this.jobExecutionId = jobExecutionId;
    }

    public int getLineNumber() {
        return lineNumber;
    }

    public void setLineNumber(int lineNumber) {
        this.lineNumber = lineNumber;
    }

    public String getField() {
        return field;
    }

    public void setField(String field) {
        this.field = field;
    }

    public String getErrorCode() {
        return errorCode;
    }

    public void setErrorCode(String errorCode) {
        this.errorCode = errorCode;
    }

    public Object[] getErrorArgs() {
        return errorArgs;
    }

    public void setErrorArgs(Object[] errorArgs) {
        this.errorArgs = errorArgs;
    }

    public String getDefaultMessage() {
        return defaultMessage;
    }

    public void setDefaultMessage(String defaultMessage) {
        this.defaultMessage = defaultMessage;
    }

}
